float4x4 World;
float4x4 View;
float4x4 Projection;

struct VertexShaderInput
{
    float4 Position : POSITION0;
	float2 TexCoord : TEXCOORD0;	 
};

struct VertexShaderOutput
{
    float4 Position : POSITION0;
	float2 TexCoord : TEXCOORD0; 
};

VertexShaderOutput VertexShaderFunction(VertexShaderInput input)
{
    VertexShaderOutput output;

    float4 worldPosition = mul(input.Position, World);
    float4 viewPosition = mul(worldPosition, View);
    output.Position = mul(viewPosition, Projection);
	output.TexCoord = input.TexCoord;

    return output;
}

float cercle
<
   string UIName = "cercle";
   string UIWidget = "Numeric";
   bool UIVisible =  false;
   float UIMin = -1.00;
   float UIMax = 0.00;
> = float( 0.11 );


float4 PixelShaderFunction(VertexShaderOutput input) : COLOR0
{

	float demicercle = cercle/2.0f;
   
   if ((input.TexCoord.x % cercle) > demicercle)
   
   {
      if ((input.TexCoord.y % cercle) > demicercle)
      return float4(0.0f, 0.0f, 0.0f, 0.0f);
      else 
      return float4 (1.0f, 1.0f, 1.0f, 0.0f);
   }
   
   else
   {
      if ((input.TexCoord.y % cercle) > demicercle)
      return float4(1.0f, 1.0f, 1.0f, 0.0f);
      else 
      return float4 (0.0f, 0.0f, 0.0f, 0.0f);
   }
}

technique Technique1
{
    pass Pass0
    {
        VertexShader = compile vs_2_0 VertexShaderFunction();
        PixelShader = compile ps_2_0 PixelShaderFunction();
    }
}
